package com.rocching.easychat.util;

import android.util.Log;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import java.util.Objects;
import java.util.StringTokenizer;

import okhttp3.internal.Util;

public class JsonUtil {
    private final static String TAG = JsonUtil.class.getName();

    public static Object parse(String json) {
        if (StringUtil.isEmpty(json)) {
            return null;
        }
        try {
            return JSON.parse(json);
        } catch (Exception e) {
            Log.e(TAG, e.getMessage(), e);
            return null;
        }
    }

    public static JSONObject parseObject(String json) {
        if (StringUtil.isEmpty(json)) {
            return null;
        }
        try {
            return JSON.parseObject(json);
        } catch (Exception e) {
            Log.e(TAG, e.getMessage(), e);
            return null;
        }
    }

    public static <T> T parseObject(String json, Class<T> tClass) {
        if (StringUtil.isEmpty(json)) {
            return null;
        }
        try {
            return JSON.parseObject(json, tClass);
        } catch (Exception e) {
            Log.e(TAG, e.getMessage(), e);
            return null;
        }
    }

    public static String toJson(Object obj) {
        if (Objects.isNull(obj)) {
            return null;
        }
        try {
            return JSON.toJSONString(obj);
        } catch (Exception e) {
            Log.e(TAG, e.getMessage(), e);
            return null;
        }
    }
}
